DROID E4 で DROID M4 の操作先を切り替える
from 20250216 #0216
DROID E4 で DROID M4 の操作先を切り替える
DROID M4 のフェーダーを動かすのつづき
フットプリントがミニマルなので、1:1 マッピングにするには IO が全く足りないので、仮想的に内部で状態を持って、それを外から変更したり、参照したい
https://www.youtube.com/shorts/L85PHlyMiaM
脳が react なので、DROID Forge でも state みたいなものを定義して、それを E4 で切り替えて、M4 がそれを参照すればイイのか〜?? みたいな発想だったんだけど
https://gyazo.com/68e0da6250174e06041950c3c24f5d9e
プログラムとしてはこういう感じで、まずはグローバルの状態: ここでは LFO のどのパラメタをいじるか をコントロールする ENCODER を定義する
ここの TIL としては、discrete に数値を指定してやると、それ以下の整数を output として吐き出してくれるということ
↑の例だと、3に指定しているので output は {0, 1, 2} になる
次に、LFO の level を制御する MOTORFADER を定義してやって、selectat を 1 に指定する
昨日の TIL で、selectat を使うことでソフト上で設定した MOTORFADER が物理のフェーダーに挙動が反映される〜というような仕組みらしい
で、select に ENCODER の output である GLOBAL_STATE を内部結線してやることで、エンコーダを1にした時にこの仮想フェーダーの設定が有効化される
同様に LFO の hz を制御する MOTORFADER を定義して、こちらの selectat は 2 に指定する
上述の通り、エンコーダが2の時にこの仮想フェーダーの挙動が呼び出される感じ
ソフトウェア上で、内部結線として表現されていたので、なんとなくメタファーとして接続なのだという理解でいたのだけど、実際の挙動としては変数の方が近くて、例えば _LEVEL を定義した時に、out に接続したらそれは代入で、in に接続したら参照で、値自体は変数内に保存されている〜というのが実態のように感じられた
それはそうと、本当に M4 がシャコシャコ動くのが気持ちよすぎて、意味もなくシャコシャコさせてしまう